package com.tobie.schedule.service;

import com.tobie.schedule.pojo.entity.ScheduleEntity;

import java.util.List;

public interface IScheduleService {

    /**
     * 插入日程
     *
     * @return boolean
     */
    boolean insertSchedule(ScheduleEntity scheduleDto);

    /**
     * 删除日程
     *
     * @return boolean
     */
    boolean deleteSchedule(Integer scheduleId);

    /**
     * 查看所有日程信息
     *
     * @return {@link List}<{@link ScheduleEntity}>
     */
    List<ScheduleEntity> selectAllSchedule(Integer userId);

    /**
     * 查询没有提醒过的日程信息
     *
     * @param userId 用户id
     * @return {@link List}<{@link ScheduleEntity}>
     */
    List<ScheduleEntity> selectAlertSchedule(Integer userId);

    /**
     * @param scheduleVo 日程实体类
     * @return boolean
     */
    boolean setAlert(ScheduleEntity scheduleVo);

    /**
     * 根据id找到日程
     *
     * @param scheduleId 日程id
     * @return {@link ScheduleEntity}
     */
    ScheduleEntity getScheduleById(Integer scheduleId);

    /**
     * 更新日程信息
     *
     * @param scheduleDto 更新日程实体
     * @return boolean
     */
    boolean updateSchedule(ScheduleEntity scheduleDto);
}
